home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
datasheets and manuals
/
Hardware
/
WHT
/
scsi
/
dsr_sources_2_2001
/
protect
< prev
next >
Wrap
Text File
|
2006-10-19
|
2KB
|
80 lines
* GPL Routine >22 - Modify file protection
*
* This procedure will either set or reset the protection on
* a file depending on the value stored at >834d
*
* Inputs:
* >834C - SCSI device number and buffer bit
* >834D - 0=unprotect, 1=protect
* >834E - Pointer to file name
*
* Outputs:
* >8350 - Error status
* 0 = No error
* non 0 = Error
*
GPL22
ANDI R12,>FF00
AI R12,24
BL @SAVPAD
BL @MAKEFN
BL @GETFDR
BL @RESPAD
LDCR @ZERO,4
CI R5,0
JNE GPL22A
G22ERR LDCR @ZERO,4
MOVB @B01,@>8350 Set an error status
B @DSRRT
GPL22A MOVB @>834D,R1 Check protection code
JEQ GPL22B
* The protection code was not zero so we have to protect the file.
* If the file is already protected, we just return. Otherwise,
* we set the bit in the VIB and write it back out
LDCR @ZERO,4
MOV @12(R5),R1 Get file flags
COC @PROBIT,R1
JEQ G22RT
SOC @PROBIT,@12(R5) Set protection bit
JMP GPL22C
* The protection code was zero so we have to unprotect the file.
* If the file is already unprotected, we just return. Otherwise,
* we clear the bit in the VIB and write it back out
GPL22B LDCR @ZERO,4
MOV @12(R5),R1 Get file flags
CZC @PROBIT,R1
JEQ G22RT
SZC @PROBIT,@12(R5) Clear protection bit
GPL22C
* Now we write the FDR back out to disk.
*
LDCR @B04,4
MOV @SAVEAU,R7
MOV R6,R3
SRL R3,8
SLA R3,1
MPY @SAUTBL(R3),R7
SRL R8,1
SRL R7,1
JNC GPL22D
AI R8,>8000
GPL22D
LDCR @ZERO,4
BLWP @BANKIT
DATA SCSIWT
JNE G22ERR
G22RT MOVB @ZERO,@>8350 Set success
B @DSRRT